#pragma once
#include <cstddef>
#include <glad/glad.h>
#include <iostream>
#include <string>
#include <vector>
using namespace std;



class Renderer
{
  public:

    void prepareVAO();

    void render();

    /**
    * @param activatedTexture 本次加载的纹理要
    */
    unsigned int loadTexture(string path,GLenum activatedTexture, GLenum format);

  protected:
    /**
    在 C++ 中，std::vector<float> vertices
    作为类的成员变量时，不会出现空指针（nullptr）问题，因为 std::vector
    是一个值类型（value type）的容器，它会自动初始化并管理自己的内存。
    */
    vector<float> vertices;
};